package com.conselheiro.web.beans;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;

import org.apache.log4j.Logger;

import com.conselheiro.web.exception.FalhaAutenticacaoException;

@ManagedBean
public class LoginBean extends AbstractBean {

	private static final long serialVersionUID = -3127087158543483847L;
	private Logger logger = Logger.getLogger(getClass());
	private String login;
	private String senha;

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String logar() {
		try {
			getFachada().logar(login, senha);
			FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(AUTH_KEY_LOGIN, getLogin());
			logarInfo(logger, "LOGIN REALIZADO");
			return "/restrito/index?faces-redirect=true";
		} catch (FalhaAutenticacaoException e) {
			logarInfo(logger, "FALHA DE AUTENTICACAO: " + getLogin() + " senha: " + getSenha());
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Login ou senha inválido", ""));
			return "/index.jsf";
		}
	}

}
